const path = require('path');
const DllPlugin = require('webpack/lib/DllPlugin');

module.exports = {
  entry: {
    //因为最终导出是以 var [name] = ... ，的形式
    //故出口的name命名不能使用'-'，推荐使用'_'替代
    'react_family': ['react', 'react-dom','react-router-dom']
  }

  , output: {
    path: path.resolve('dist')
    , filename: '[name]_dll.js'
    //,libraryTarget: 'var' 默认就为var
    , library: '_dll_[name]' //var _dll_react_family = xx
  }

  ,plugins:[

    //生成一个.manifest.json文件,DllReferencePlugin时会用到
    new DllPlugin({
      // 动态链接库的全局变量名称
      // ，需要和 output.library 中保持一致
      // 该字段的值也就是输出的 manifest.json 文件 中 name 字段的值
      // 例如 react.manifest.json 中就有 "name": "_dll_react_family"
      name:'_dll_[name]'
      // 描述动态链接库的 manifest.json 文件输出时的文件名称
      ,path:path.join(__dirname,'../dist','[name].manifest.json')
    })

  ]
};
